using System;
using System.Collections.Generic;
using Framework.Library.Data.DAL;
using Framework.Library.Core.Config;

namespace Framework.Library.Data.IDAO
{
    public interface ITeenioContentManager
    {
        List<TeenioContent> Search(string text, int zoneid, string category, int portalid, int rank, int status, int type, DateTime fromdate, DateTime todate, int pageSize, int pageIndex, out int totalRecord);
        
        TeenioContent GetInfo(int articleId);
        TeenioContent GetContentIntro(int MenuId);

        List<TeenioContent> GetList(int catId, int type, TeenioContentOrder order);
        List<TeenioContent> GetList(int catId, int Flag, int Status, int type);
        List<TeenioContent> GetList(int catId, int Flag, int Status, int type, TeenioContentOrder order);
        List<TeenioContent> GetList(int catId, int Flag, int Status, int type, int pageIndex, int pageSize, out int totalRecord);
        List<TeenioContent> GetList(int catId, int Flag, int Status, int type, TeenioContentOrder order, int pageIndex, int pageSize, out int totalRecord);

        List<TeenioContent> GetListEvent(int eventId);
        List<TeenioContent> GetListEvent(int eventId, int Flag, int Status);
        List<TeenioContent> GetListEvent(int eventId, int Flag, int Status, int pageIndex, int pageSize, out int totalRecord);

        List<TeenioContent> GetListHistory(int userId, int type, TeenioContentOrder order);
        List<TeenioContent> GetListHistory(int userId, int type, TeenioContentOrder order, int pageIndex, int pageSize, out int totalRecord);

        List<TeenioContent> GetListUser(int userId, int type, TeenioContentOrder order);
        List<TeenioContent> GetListUser(int userId, int type, TeenioContentOrder order, int pageIndex, int pageSize, out int totalRecord);
    }
}